﻿using System;

namespace 享元模式
{
   public class ConcreteFlyweight:Flyweight
   {
        //内部状态intrinsicState作为成员变量，同一个享元对象其内部状态是一致的
       private string _intrinsicState;
       public ConcreteFlyweight(string intrinsicState)
       {
           _intrinsicState = intrinsicState;
       }

        //外部状态extrinsicState在使用时由外部设置，不保存在享元对象中，即使是同一个对象，在每一次调用时可以传入不同的外部状态
       public override void Operation(string extrinsicState)
       {
          //todo
          //实现业务
       }
    }
}
